<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>深拷贝</title>
    <script src="./js/lodash.min.js"></script>
</head>

<body>



    <script>
        // 深拷贝：把对象的多层的属性或方法拷贝给一个新的对象  层层拷贝
        // 1. 通过 JSON 序列化实现
        // 2. lodash库 实现
        // 3. 通过递归实现

        // 深拷贝实现方式一：JSON序列化（常用的方式）
        const obj = {
            name: '佩奇',
            family: {
                father: '猪爸爸',
                wife: {
                    name: "猪妈妈"
                }
            },
            hobby: ['跳泥坑', '唱歌']
        }

        // lodash库实现  里边封装了一个递归函数 _.cloneDeep

    
        let obj2 = _.cloneDeep(obj)
        obj2.family.wife.name = "mary"
        console.log(obj);
        console.log(obj2);
        




    </script>
</body>

</html>